HANDS ON Remote Access HO.txt manual Page 1 Version 5.50 Updated June, 1995 This Product is Shareware, if you continue to use it Please Register to Legalise your usage _______ ____|__ | (R) --| | |------------------- | ____|__ | Association of | | |_| Shareware |__| o | Professionals -----| | |--------------------- |___|___| Member Table of Contents page # 1.0 Introduction 2.0 What HANDS ON Remote Access Will Do 3.0 What HANDS ON Will NOT Do 4.0 Why Use HANDS ON? 4.1 Access to Local Area Network from Home 4.2 Can use common DOS software. 4.3 Software Support 4.4 Library CD-ROM Access 5.0 HANDS ON Host Installation 5.1 Select Serial Port 5.2 Change Password 5.3 Change Modem Initialization String 5.4 Change Modem dialing Format String 5.5 Select Maximum "Baud" Rate 5.6 Use modem CARRIER DETECT signal 5.7 Flow control 5.8 Generate INT 9 on each key 5.9 Respond to modem RING signal 5.10 Reboot on loss of carrier 5.11 Synchronize "baud" rate 5.12 Send wakeup every 2 minutes 5.13 Private mode 5.14 Printer redirection 5.15 Maximum call length 5.16 Create consistent .HO setup file 5.17 Abandon Changes HANDS ON Remote Access HO.txt manual Page 2 5.18 Save Changes and Leave Installation Program 6.0 Remote Installation 6.1 Setting the serial port 6.2 The baud rate 6.3 The command interpreter 6.4 Video settings 6.5 File Transfers 6.6 Printing 6.7 Setting the bell or beep 6.8 Sizing file transfer blocks 6.9 Break 6.10 Block wait 6.11 Block delays 6.12 Lost characters 6.13 Passwords 6.14 Inter-computer links 6.15 Flow control 6.16 Send Breaks? 6.17 Keyboard settings 6.18 PROMPT when shelled 6.19 Hotkeys 6.20 Sending CONNECT 6.21 Sending disconnect 6.22 Modem response strings 7.0 How to Use HANDS ON 7.1 Host Computer 7.2 Remote Computer 8.0 HANDS ON Utility Programs 8.1 HOREMOVE - memory ripper 8.2 HOHOSTC - flying changes 8.3 HOTALK - chat 8.4 HOEXTS and TREXTR - links to DSZ 8.5 HOMODSET - modem setting 8.6 HOCHECK - time and day monitor 8.7 HOASK - batch query tool 8.8 HOSPEED - sets display update speed 8.9 HOSTATUS - reports HOHOST status 8.10 1STHAND - multiple tools 9.0 SUPPORT and the ASP 10.0 Warranty APPENDIX A - Configuration Scenarios A1 Consultant/Client via Modem A2 Remote/Shared via Modem A3 Laptop/Desktop via Direct Cable A4 Remote/Shared via Common Mini-computer A5 Home/Office via Modem HANDS ON Remote Access HO.txt manual Page 3 A6 Callbacks - Cut your phone bill APPENDIX B - Sample File Transfer Session APPENDIX C - Modem Cables APPENDIX D - DESQview Compatibility APPENDIX E - Acknowledgments APPENDIX F - ShareWare Vendor Notice (if any) 1.0 Introduction To Get HANDS ON Remote Access Up and Running Quickly... Consider just reading the QUICK.txt first, then go through this manual. QUICK.txt is for QUICK STARTS and QUICK HELP. If you will be using modems then read the modem setup suggestions at the start of appendix A. The version 5.1 release added over 400 new modem settings, but they may need customization. Then read whichever of the following sections most closely matches your own application: Consultant/Client via Modem One consultant wishing to connect via modem to many different clients in order to take over the clients' computers. Remote/Shared via Modem One remote access PC to be taken over by many different users via modem. Laptop/Desktop via Direct Cable A simple direct connection with no modems. Remote/Shared via Common Mini-computer Instead of a direct link between the two PCs, each PC will be logged into a common UNIX system. Home/Office via Modem A dedicated office PC to be taken over from a home PC. This option also contains some advice about configuring high speed V32bis/V42bis modems (USR Courier V32bis or similar). Callbacks - Cut your phone bill HANDS ON Remote Access HO.txt manual Page 4 This (A6) sections quotes an author's callback variant. They have nearly 2000 people using Hands On at a University in Europe. 2.0 What HANDS ON Remote Access Will Do HANDS ON will allow you to connect two IBM PC-compatible computers together (via telephone lines and modems, or via a direct cable, or via a common mini- or main-frame computer), and arrange for input to be accepted from either keyboard, and for both displays to appear identical. In this document the computer which is running normal programs is called the host computer, and the other computer is called the remote computer, since its display is a remote copy or replica of the host computer's display. (Or, you sit in front of the 'remote' computer because it is remote from the program being run) HANDS ON will do a reasonable job of optimizing the screen changes transmitted, so that (for example) moving a highlighted menu bar will appear almost immediately even at 1200 bps (provided the call is relatively local). (Try a cross-continent call at 1200 baud sometime.) HANDS ON always updates the remote/replica computer's screen to match the current host screen. This means that if several commands are issued without waiting for the display to catch up, then the remote/replica screen will be updated to show the final host screen, without wasting time transmitting the intermediate screens. HANDS ON uses a password of up to 39 characters, which means an intruder would take an astronomical time to guess a well chosen password! Since this password is transmitted automatically, there is no need to keep it short and easy to remember - once HANDS ON is installed, you will never need to enter the password manually. You can use various external encryption tools for file transfers, and outfits like PSL include a wide range of security tools in their catalogs and disk libraries. The passwords are stored in individual .HO files that can easily be encrypted and archived as you like. HANDS ON will allow the host site to call the remote/replica site, or the other way around. For consultants this means you can make your clients pay the 'phone bills! HANDS ON Remote Access HO.txt manual Page 5 HANDS ON will automatically detect the "baud" rate being used by the remote/replica computer, and set the host computer's "baud" rate to match. This means that users with different speed modems can all access a single host. HANDS ON uses just over 10K of memory on the host computer, which means there should be enough memory left to run most applications. HANDS ON can be installed to "type" a command in response to the 'phone ringing, which allows better control than merely using the modem's auto-answer capability. It can also send a command directly to the modem. See the WIZARD.txt for information on the Wizard and completely automating sessions. You can also use tools such as CED to make sessions much more interactive. Use tools that are familiar to you. HANDS ON will trap anything printed to any printer on the host PC, and redirect it to the chosen printer at the Remote PC. This redirection takes place only when a session is active, so at other times the host can be used to print normally even if HOHOST is still loaded. HANDS ON will allow the host PC to run with screen blanked and keyboard dead for improved privacy. HANDS ON will support file transfers using external protocol programs such as DSZ, which provide crash recovery and cope better with poor lines than HANDS ON's built-in protocol. The Hands On file transfer design mimics DSZ in many ways, so the products can work well together. HANDS ON can limit the duration of a single session, to prevent one user from "hogging" the line. HANDS ON can automatically locate the COM ports (including non-standard IRQ lines) currently available in a PC, including IRQ8-15. HANDS ON is "DESQview-Aware". See Appendix D for details. Portions of the Hands On distribution actually alter other .exes in the distribution. This sharply reduces RAM memory usage and .EXE file size while increasing speed, but you may find virus checkers that go bonkers. Also, if you pklite or diet the .EXE's to make them smaller, you will be hiding vital configuration information in the individual .EXE, and will HANDS ON Remote Access HO.txt manual Page 6 knock the program 'off its rails' and cause wonky behaviour. The initial installation uses the HOMNU.exe menu program and associated batch files. You are free to move the whole suite to your favourite menu program. You will need to customise and finish the installation to meet your needs in any case. 3.0 What HANDS ON Will NOT Do HANDS ON will not manage remote graphics displays. If the user at the Remote computer runs a program that displays graphics, then the Remote display may show (textual) garbage. Keystrokes will still be transmitted to the host computer, but the user must remember which keys are necessary to get out of graphics mode again! HANDS ON gives a warning that graphics mode has been entered, but by then it is too late to avoid it. However, in an emergency HANDS ON can instruct the host computer to reboot, so provided HOHOST is run from AUTOEXEC.BAT this provides a means of recovery. Yes, we could just tell HOHOST to hangup, but many emergencies leave the computer in a mess, and rebooting cleans things up a lot. HANDS ON will only work with an 80 column by 25 line display. HANDS ON will only work with the standard keyboard buffer. Check the WIZARD.txt for information on how the Wizard uses the keyboard buffer. Where HANDS ON is being used with a modem, it will work best if the modem and modem cable provide carrier detect, data terminal ready and ring indicator signals in addition to the minimum transmit data, receive data and ground signals. HANDS ON will cause bad "snowing" on some older CGA display cards. HANDS ON requires DOS 3.0 or later. HANDS ON will not work particularly well on a noisy 'phone line. File transfers are error-checked, but normal screen updates are not. Normally this will not be a problem, since a corrupted screen will be visually obvious and in any case HANDS ON will usually detect the problem and automatically request a full refresh. However, if errors happen very frequently then HANDS ON can spend all its time continually HANDS ON Remote Access HO.txt manual Page 7 re-refreshing the display! Printer capture also is not error-checked, so line noise will garble the printout. [If this proves to be a problem then the best solution would be to use error-correcting (MNP4 or V42) modems.] 4.0 Why Use HANDS ON? 4.1 Access to Local Area Network from Home HANDS ON will allow you to connect into your office computer from home. This means you do not need to take all your data files home with you, and that you do not need to license additional copies of your software (since your home computer is not running the software, only replicating the screen of your office computer). If your office computer is part of a local area network, then you automatically have access to all the network facilities from home. 4.2 Can use common DOS software. HANDS ON works fine with such programs as WordPerfect, WordPerfect Office (especially mail), WordStar, xBASE, spreadsheets, all the Novell NetWare utilities, and local area networks are regularly backed up after hours via HANDS ON! The only programs we have come across that could not be used remotely either: a) used graphical displays (e.g. WordPerfect preview); or b) took over interrupts needed by HOHOST (e.g. comms programs); 4.3 Software Support HANDS ON will allow you to take over your client's computer, so that you can see what is going wrong, (or right), or so you can work together over the phone. In many cases this will avoid the need for an trip to the client's site. 4.4 Library CD-ROM Access HANDS ON is becoming quite popular for allowing remote (dial in) access to CD-ROM databases running on PCs in libraries. The chief attraction is that the library only needs to register once for each CD-ROM PC that will be simultaneously available, and the users do not need to register at all; the HANDS ON Remote Access HO.txt manual Page 8 library can give them the software freely. However, another significant factor is that the CD-ROM database software often requires a very large amount of memory, and HANDS ON uses very little memory on the host PC. Of course companies could also offer similar catalogs and technical information to clients and customers too. All of the major software developers provide on-line information services. For details of these and other applications, see the scenarios in Appendix A. 5.0 HANDS ON Host Installation There are two ways to install the Hands On package: 1) Use the install program. It copies the files and starts up the 1STHAND.exe program, which provides a simple, interactive, installation, setup, and learning process (see its description below). It runs the installer and other programs as necessary. The following description provides an alternate 'lower level' more detailed description of the installation. 2) manually copy the following files and follow the instructions below: To manually install HANDS ON at the host computer, first copy the files into a directory (say \HO) on the host computer. To restrict your choices and confusion: Then enter the command: HOMINS (HOMINS is a simplified MINimal installer and removes many of the options shown below. However, you can often imply HOMINS when you read HOHOSTIN) For the full option set: Then enter the command: HOHOSTIN (HOHOSTIN is the full installer) (Please note that the 'menus' shown are simplified from the original screens so you can print the manual on any printer. You MUST use HOHOSTIN. You HAVE TO use HOHOSTIN or HOMINS for some changes because it actually makes changes to the .EXE files on disk. You CANNOT successfully make all the changes HANDS ON Remote Access HO.txt manual Page 9 in a .HO file) Your display should show a menu similar to: HANDS ON Host 5.10 Installation A. Select serial port (currently COM1) B. Change password (currently "password") C. Change modem initialization string (currently: "\rat &c1 &d2\r") D. Change modem dialing format string (currently: "ATDT %s\r") E. Select maximum "baud" rate (currently 19200) F. Use modem CARRIER DETECT signal (currently YES) G. Flow control (currently NONE) H. Generate INT 9 on each key (currently NO) I. Respond to modem RING signal (currently NO) J. Reboot on loss of carrier (currently NO) K. Synchronize "baud" rate (currently YES) L. Send wakeup every 2 minutes (currently NO) M. Private mode (currently NO) N. Printer redirection (currently HOST) O. Maximum call length (currently unlimited) P. Create consistent .HO file Q. Abandon changes S. Save changes and leave installation program Selection: Consider each of these options in turn: 5.1 Select Serial Port Another menu will appear: HANDS ON Program Serial Port Selection 0. Completed, no (further) change => 1. COM1 port (base 0x03F8, interrupt IRQ4) 2. COM2 port (base 0x02F8, interrupt IRQ3) A. Custom base (currently 0x03F8) B. Custom interrupt (currently IRQ4) X. Search for hardware Selection: Initially, the ports listed will be those reported by the HANDS ON Remote Access HO.txt manual Page 10 computer's BIOS during its initialization at power-up. Since the BIOS provides no information about interrupt numbers, the IRQ numbers will simply be the most common (IRQ4 for COM1 and COM3, IRQ3 for COM2 and COM4). If you only use COM1 and COM2 then this may be all you need. If you are not sure, you can look at the back of the machine to check what is attached to who. If you use HOMINS.EXE instead of HOHOSTIN.EXE you will have your choices restricted. However, if you use COM3 or COM4, especially with non-standard IRQ numbers, you should select option X to have HOHOSTIN examine your hardware and see what ports are really there. [This is not done automatically since the searching process could conceivably lock up the computer.] After selecting X, the menu will be modified to reflect any additional ports discovered; for example: HANDS ON Program Serial Port Selection 0. Completed, no (further) change => 1. COM1 port (base 0x03F8, interrupt IRQ4) 2. COM2 port (base 0x02F8, interrupt IRQ3) 3. COM3 port (base 0x03E8, interrupt IRQ5) A. Custom base (currently 0x03F8) B. Custom interrupt (currently IRQ4) X. Search for hardware Selection: All the existing ports are now listed. To select one of these ports, just type the port number. If you have a non-standard base address (one that is neither in the BIOS table nor one of the common "standard" values), then use A and B to specify exactly what you want [it may be worth selecting the base address, and then choosing X again, so that HOHOSTIN will check for the right IRQ line for that base and add it to the menu]. When you are happy with the settings, select 0 to return to the main menu. Hands On has not been tested with any system which uses the 16-bit AT IRQ numbers (8-15) cards. Also, you should avoid having two programs simultaneously active on ports which are listed with the same IRQ number - for example a mouse on COM1/IRQ4 and a modem on COM3/IRQ4. Mice do not provide good screen images for HANDS ON to display for you. Actually we HANDS ON Remote Access HO.txt manual Page 11 will provide free registration to anyone that successfully uses Hands On to capture screen images from their mouse on either the host or remote computer! 5.2 Change Password The string editing menu will appear: HANDS ON Host Program Password Selection Edit existing string: password Whenever you see the "Edit existing string:" prompt, you can use the left and right arrow keys to move the cursor through the string, and the backspace and delete keys to delete characters to the left of or under the cursor respectively. Any normal characters you type will be inserted at the cursor position. If the first key you press is a normal printable character then the string will be cleared automatically. Since you will only need to enter the password once during installation, and never in normal use, it's a good idea to make the password near the maximum length and quite random. The main thing is that nobody should have any chance of guessing the password. Of course it has to be the same on both ends of the connection (or there won't be a connection). 5.3 Change Modem Initialization String The string editing menu will appear again, this time asking for the modem initialization string. This string is transmitted to the modem at the maximum "baud" rate when HOHOST runs for the first time. If you are using an automatic power switch that powers up the host computer when the 'phone starts ringing, then the initialization string may need to answer the 'phone (see scenario A2). There may also be various operating modes that cannot be stored permanently in your modem's non-volatile memory, and which must therefore be established each time HOHOST starts. In many applications, where nothing needs to be changed, this string may be empty. If the original installation did not provide a suitable HANDS ON Remote Access HO.txt manual Page 12 general modem initialization string in the modem database, you might still go back and look for something similar. You can also check the settings in the software that came with your modem. Otherwise, you will probably need to refer to the instruction manual for the host modem to work out what if anything is required. As well as normal characters, you may need to include some special characters such as carriage return. Carriage returns can be encoded as \r (see the main menu at the start of section 4). Alternatively, any character can be entered in hexadecimal as \0x followed by two hex digits (for example, the escape key is \0x1B). To get a \ character, use \\. It may also be necessary to include some kind of delay. For example, some modems go off into a world of their own for a second or so after a reset command. Delays are entered in milliseconds as \D followed by the delay (for example, \D1000. [1 second] or \D500. [half a second]). Delays are only accurate to the nearest 55 ms, so the number you enter may be modified slightly to reflect the nearest possible actual delay. 5.4 Change Modem dialing Format String This string determines what the Hands On dialer HODIAL will send to the modem to dial a number for Host made calls. The usual use of HODIAL will be something like HODIAL 221166, so normally the dialing format string should contain a %s to insert the number. For example, if the dialing string is "ATDT %s\r" and the user enters the previous dialing command, then what will be sent to the modem is: ATDT 221166 followed by a carriage return. Your modem manual will remind you that ATDT is for Tone dialing and ATDP is for Pulse dialing. Alternatively, if only one number is used, then the dialing format string may include the actual number, and HODIAL can be used without a number parameter (you just type in "HODIAL"). Note that (when CARRIER DETECT is being used) HODIAL will only send anything to the modem if there is NO carrier detected - once a carrier had been established the modem would not act on the command in any case, but would send it through to the other end. When HOHOST is installed to ignore CARRIER DETECT, HODIAL will send data to the modem in any case. HANDS ON Remote Access HO.txt manual Page 13 Other dialing choices: The easiest choice is to use the PHONE menu entry in 1sthand.exe to setup some .HO entries with phone numbers and use the same "1STHAND CALL" or "1STHAND DIAL" scheme that the HOMENU.BAT menu setup uses. 1STHAND has lots of on-line help (please yell loudly if you think the help is too big or too small or whatever). Many people use HOMODSET to set the modem and to dial. You can also fill in the entries in the bottom of your xxx.HO configuration files to add automatic dialing. We do not automatically setup any of these choices for some reasons. First, only you can best judge which best meets your needs. Second, its quite possible to setup automatic dialing that always dials the 'wrong' number and we prefer that you setup your own controls. Its quite common to setup to only dial one phone number, but this becomes a problem when you change the number and cannot find or remember where it is hidden in a configuration file. Third, many people that dial multiple numbers will have their own database and may have their own dialer, or can choose which dialing method best meets their needs. Finally, most people call from the Remote to the Host, so all of these options are best considered in that light. It the Host is simply receiving calls then the attention string "ATA\r" can replace "ATDT %s\r". 5.5 Select Maximum "Baud" Rate Another window will appear: HANDS ON Host Program Maximum "Baud" Rate Selection Enter "baud" rate: You should enter the maximum "baud" rate that the host modem is capable of using. Usually this will be 2400 or 19200. Note that HOHOST can automatically adjust to half this speed, a quarter of this speed, or one eighth of this speed. Thus if you choose 19200 bps, HOHOST will be able to work at 19200, 9600, 4800 or 2400 bps (provided the host modem can handle these speeds). HANDS ON Remote Access HO.txt manual Page 14 If you will be using a direct cable between two PCs, then 19200 should work on all systems and 38400 will work on faster computers. If your computers have 16550 type UART chips instead of the standard 8250 chips then 115200 should work. We are currently successfully using 19200 over 8250 chips between an XT and a 386-25. We normally use 115200 for development and testing. We also prefer 115200 when using Hands On to transfer software from one computer to another during computer repairs, and for various upgrades and backups. 5.6 Use modem CARRIER DETECT signal Selecting this option will determine whether or not HOHOST will use the carrier detect signal provided by the modem. If you are using a real modem, then you should set this to YES and make sure the modem is initialized so that it reports the true CD status from the 'phone line. If you are using a direct cable between two PCs, or connecting PCs via a mini-computer, then set this option to NO. 5.7 Flow control Selecting this option will bring up the following menu: HANDS ON Host Program Flow Control Selection 0. Completed, no (further) change => 1. No flow control 2. Hardware (RTS/CTS) flow control 3. Software (XON/XOFF) flow control 4. Both hardware and software flow control 5. Set inter-character gap time (currently 330 ms) Selection: HANDS ON can use the following flow control systems: NONE No flow control. Use this with a direct cable or with modems that require no speed adjustment. If one of the modems is older or wonky, you might have to change to CTS, as a workaround. CTS Hardware flow control using RTS (request to send) and CTS (clear to send). Use this in preference to software flow HANDS ON Remote Access HO.txt manual Page 15 control if it is available. XON Software flow control using XON and XOFF (/). Use this if flow control is needed and hardware flow control is not available. BOTH Use both software and hardware flow control. I can't imagine why anyone would want this... Normally HANDS ON will not need to use any flow control even when it is available. However, some modems communicate with the PC at a different speed than that at which they communicate with other modems, so that it is possible for the PC to "get ahead" of the modem and hence lose data. In these cases it is necessary for the modem to tell the PC when to wait a bit before sending the next byte. A side effect of software flow control is that HANDS ON will not use ANY control characters: it will not send any, and it will ignore all control characters received apart from XON and XOFF. This may be useful for networks that respond to certain control characters; however, binary file transfers will be slightly slower since 64 characters (control characters with and without the parity bit) are not used. Note that both HO and HOHOST must therefore either use or not use software flow control If only one end uses software flow control, then no communication will be possible! When HOHOST is receiving characters (normally keys that have been pressed at the remote PC - each key is encoded as two or three characters) it waits a certain length of time after receiving the first character before giving up and ignoring the key. This is important, since otherwise a single byte introduced by noise on the line could cause all subsequent keys to be misinterpreted (the second character of one key being treated as the first character in the next key and so on). HO always sends all the characters which constitute one key as close together as the communication speed will allow, so usually a gap of even 0.1 seconds means that something has gone wrong and that HOHOST should start looking for a new key again. However, if the link between HO and HOHOST uses packets, or for any other reason introduces significant gaps between two characters that were sent together, then HOHOST may need to be adjusted to tolerate longer gaps between characters which should be together. Selecting option 5 will bring up the following screen: HANDS ON Remote Access HO.txt manual Page 16 HANDS ON Host Program Inter-character Gap Time Selection Longest gap to be tolerated (ms): 330 Any time up to about 10 seconds (10000 ms) can be entered. Be aware that if this time is set to 10 seconds, and line noise does introduce a stray character, then you will need to wait 10 seconds without typing anything at the remote PC to get HOHOST back into synchronization! 5.8 Generate INT 9 on each key When HOHOST receives a key from HO, it will usually just place it in the keyboard buffer to be found by any program that wants to read a key. However, some applications monitor the keyboard interrupt (INT 9) and only read the keyboard input buffer after there has been a keyboard interrupt! To keep such programs happy, HOHOST can generate an INT 9 after it has placed a key into the buffer. However, this can cause problems for other programs, particularly when the host and remote keyboards may both be in use at the same time (e.g. HOTALK). Leave this option OFF unless it is really necessary. 5.9 Respond to modem RING signal Selecting this option will determine whether or not HOHOST will respond to the RING signal which the modem provides to tell the PC that the 'phone is ringing. If this option is turned on, then the menu will be extended with the following sub-options: G. Respond to modem RING signal (currently YES) ---|- 1. too short 220 ms |- 2. too long 5000 ms |- 3. delay 10000 ms |- 4. reset 10000 ms |- 5. "type" response |- 6. response "\0x1Btrauto\r" If the 'phone only rings for a very short time, you may wish to ignore the ringing completely - otherwise just knocking the 'phone off the hook can trigger a HOHOST response! (It happens and scares people). If the 'phone rings for a long time, then this may indicate HANDS ON Remote Access HO.txt manual Page 17 that the caller is a person who should not be greeted by an ear full of chatty modem! If HOHOST is intended to respond before the 'phone stops ringing, then this time should be set the same as the delay below. After a certain length of time (measured from when the 'phone starts ringing) HOHOST will check that the amount of ringing was within the specified range, and if so, will respond to it (see point 5). If the 'phone rang for too long, then HOHOST must know when to start looking for another call. If the 'phone has not rung for a certain length of time then HOHOST assumes any ringing must be a new call. The response string may be either "typed" (that is, inserted into the keyboard buffer as if a user at the host PC had just typed it in), or it can be sent direct to the modem. The advantage of "typing" is that you can run a batch file to check times and do all sorts of other things. The advantage of sending direct to the modem is that the entire operation can take place in the background while an application continues running. You may specify a response of up to 39 characters. If you expect the host PC to be at the DOS prompt when a call comes in, then it is a good idea to start with an escape key, so that DOS discards anything already typed and treats what follows as a new command. If all this sounds too complicated, but you still think you want to enable ring response, then have a look at the configuration scenario called "Home/Office via Modem" in section A5. 5.10 Reboot on loss of carrier Selecting this option will determine whether or not the computer will reboot when the modem reports that the carrier has been lost (presumably because the other end hung up). See scenario A5 for an example of an application taking advantage of this feature. The PC will not reboot unless there has been a HANDS ON session active since HOHOST was loaded. HANDS ON Remote Access HO.txt manual Page 18 5.11 Synchronize "baud" rate Selecting this option will determine whether or not HOHOST will attempt to match the "baud" rate being used by HO at the other end. This is useful if several users will all dial into the same host, but some users have slower modems than others. See scenario A2 for an example of this. 5.12 Send wakeup every 2 minutes Selecting this option will determine whether or not HOHOST will send a NULL character whenever two minutes has passed with no other activity. A single NULL is ignored by HO, but may serve to keep a connection to a mini-computer link. See scenario A4 for an example of this. You can setup your modem to automatically disconnect after a specified period of inactivity. See your modem's manual for more information. This can be used to disconnect users out to lunch, or can be accidentially used to cause support calls to us. 5.13 Private mode In private mode, the screen of the host PC will be blank, and the keyboard of the host PC will be inactive (including CTRL-ALT-DEL). This is useful to enhance privacy when the host PC is in a public location. Note that the screen blanking has only been tested on VGA, EGA, CGA and Hercules display cards, and only in text modes. It has worked correctly with all the applications tested, but you should test it with your own applications and display cards before relying on it! 5.14 Printer redirection When a HANDS ON session is active, it is possible to redirect printer output (which would otherwise be printed at the host PC) so that it is printed at the Remote PC instead. When no session is active, the host will print normally even though HOHOST is still loaded. 5.15 Maximum call length In some cases, perhaps where multiple users are competing for a limited number of phone lines or a toll-free number is being HANDS ON Remote Access HO.txt manual Page 19 used, it will be desirable to enforce some upper limit on the connection time. After this time, HOHOST will drop DTR for 2 seconds, which will cause a (correctly configured) modem to hang up. One minute before the timeout HOHOST sends a warning message to HO, so that the user will have a minute in which to exit gracefully from whatever is happening. Note that this will not happen during a file transfer, so you should not start a file transfer unless you are sure there will be time to complete it before the host hangs up! Due to the way this timer is implemented, there is a limit of 3598 seconds (just under an hour). If I get enough people complaining that they really need limited length sessions, but the limit needs to be over an hour, I will consider changing the implementation... Note that DTR will also be dropped before rebooting if a maximum call length has been specified, so there is no (known) way to defeat the mechanism. However, it might be a good idea to restrict access to programs like HOHOSTIN and HOHOSTC which could be used to modify the time limit! HOMINS is designed to simplify setup and to provide such restricted access. 5.16 Create consistent .HO setup file Please initially create the HOHOST.HO and or HO.HO files using the (P.) option in HOHOSTIN (or HOMINS). Once HOHOST has been installed correctly, HOHOSTIN can create a configuration file for HANDS ON that is consistent (same "baud" rate, password, use of carrier detect etc). It will normally still be necessary to edit this file to do some fine tuning, but the work required will be less than if you started with the generic HO.HO file distributed with HANDS ON. Of course you can use HOHOSTIN to re-create a generic HO.HO that better meets your needs. Some of you will notice that HOHOSTIN does NOT allow you to change all of the settings that you can see in the .HO file. This is done to simplify the setup. If you want to do somthing like change to a DIRECT connection, then use 1STHAND or directly edit the .HO file. 5.17 Abandon Changes HANDS ON Remote Access HO.txt manual Page 20 If you have made a mistake, or if you only wanted to see what the current settings were, then this option allows you to quit without making any changes. 5.18 Save Changes and Leave Installation Program This is the normal way to exit this program when you have made all the required changes. The relevant files (HOHOST.EXE, OMIGET.EXE, OMIPUT.EXE HOTALK.EXE, HODIAL.EXE, HOEXTR.EXE, HOEXTS.EXE and HOMODSET.EXE) will all be hunted down and modified appropriately. HOHOSTIN whines when it cannot find these files to modify them. Note that the executable files are actually modified, so beware of virus protection programs which compute checksums for executable files - they are likely to report possible virus infections after installation! The alternative (loading configuration information from a disk file) was rejected due to the additional memory required for the file processing code. 6.0 Remote Installation There are two ways to install the Hands On package on the Remote computer: 1) Use the install program. It copies the files and starts up the 1STHAND.exe program, which provides a simpler, more interactive, installation and learning process. You will normally finish the installation with some tailoring or customizing details such as the dialing options for the host and the remote. You should create a HO.HO or HOHOST.HO (choice P. in HOHOSTIN) to match your setup. You should use 1STHAND or directly edit the generated .HO file for 'less-common' details like a DIRECT connection instead of a MODEM connection. The following description provides a 'lower level' more detailed description of the installation. It is useful to read it before finishing the final tinkering for the initial installation. 2) manually copy the following files and follow the instructions below: HANDS ON Remote Access HO.txt manual Page 21 HO.EXE, HO.HLP, and HO.HO (or better still the .HO file that was created during host installation) into a directory (say HO). Then use the 1sthand PHONE menu or a text editor to look over and possibly edit the .HO file. This file should look something like: HANDS ON Configuration File Do NOT change the order of these parameters or delete lines! "COM1" Communications port ("COMn" or base/interrupt) 9600 "Baud" rate (typically 2400 or 19200) "COMSPEC" Path for DOS Command Interpreter (or "COMSPEC") 07 Attribute for normal text (such as help screen) 47/70 Attribute for file transfer monitoring 4F/0F Attribute for pop-up windows "omiput %s\r" Host command to send (download) files "omiget\r" Host command to receive (upload) files 0 Printer (normally 0, 1 or 2) 440 Frequency of "bell" tone (Hz) 100 Duration of "bell" tone (ms) 256 Block size for file upload (1-256) 8 Number of block buffers for upload (1-8) 111 Length of "break" (ms) 3000 Time to wait for first char before timeout (ms) 500 Time to wait for subsequent chars in block (ms) 56 Time to wait between "typing" keys (ms) "password" Password to log in to host computer "MODEM" Type of link (MODEM, DIRECT, or OTHER) "NONE" Flow control (CTS, XON, BOTH or NONE) "YES" Send BREAKs to host computer "YES" Use BIOS for keyboard input "[OMI] %s" DOS shell prompt format string "LRCA" Local command shifts (Left, Right, Ctrl, Alt) "" Connect command for modem "" Disconnect command for modem Most of these parameters will not need to be changed. You can add the actual path to OMIPUT/OMIGET to ensure that they can be found from anywhere on your system, as in "c:\\HO\\omiput %s\r" Host command to send (download) files However,Its generally more useful to add the HO directory to the machine's PATH. Each of the remaining lines must contain 3 strings and a number. The first string is the trigger string to search for. The second string is the response to be sent after the HANDS ON Remote Access HO.txt manual Page 22 trigger. The third string is the response to be sent after timeout. The number is the time to wait before timeout (in ms). "DISCONNECTED" "\D250\r" "\r" 5000 "Enter RESOURCE ? " "\D200G9000\r" "\r" 5000 "CONNECTED TO" "" "" 5000 "\rlogin: " "\D200doug\r" "\B\r" 2000 "\nlogin: " "\D200doug\r" "\B\r" 2000 "Password:" "\D200secret\r" "\r" 10000 "Selection: " "\D100d\r" "" 40000 "/users/" "" "" 40000 For a 'generic' .ho file leave the 'Connect' and 'Disconnect' lines unchanged. If you want to automatically connect/dial you can fill in the 'Connect command for the modem' with the appropriate string. You can also peruse at the INIT file created to match your modem during the initial installation. You can insert it and something like "ATDT433-5189\r" to automatically dial the number. (However, its easier to use the PHONE option in 1sthand.exe later.) from: "" Connect command for modem to: "AT&F0&C1&D2S95=44S7=70 ATD 123 4567\r" Connect command for modem (actually all on one line, and use your modem's INIT string) If you just want to dial the phone do something like the following: from: "" Connect command for modem to: "AT DT 123 4567\r" Connect command for modem Note that including the ATDT and the phone number locks you into dialing that number each time you run the software. 6.1 Setting the serial port The serial port may be one of the standard ones ("COM1", "COM2", "COM3", or "COM4") or you may specify the base address and interrupt number [e.g. COM1 would be 03F8/IRQ4]. For compatibility with previous versions of HANDS ON, you may also use a hex interrupt vector number, so that a third way to specify COM1 is 03F8/0C. Include those double quotes ""! 6.2 The baud rate HANDS ON Remote Access HO.txt manual Page 23 The "baud" rate should be set appropriately for the modem. Its often useful to set modems to a higher rate than their actual speed. For example, we normally use 19200 for a 14400 baud fax modem. 6.3 The command interpreter The DOS command interpreter should normally be taken from the COMSPEC environment variable. However, if this does not work (or does not select the desired command interpreter) the full path name of a command interpreter can be specified (e.g. "C:/DOS/COMMAND.COM" - or "C:\\DOS\\COMMAND.COM" - the \\ is needed since \ introduces an escape sequence). 6.4 Video settings Video attributes are two hexadecimal digits: the first is the background color, and the second is the foreground color. Optionally a second attribute may be specified (e.g. 4F/70) - the first attribute is used for color displays and the second is used for monochrome systems (this allows a single control file to work without change with different displays). 6.5 File Transfers When the user running HANDS ON requests a file transfer, HANDS ON "types" the necessary command at the host PC. These two lines should not be changed except possibly to fill in a full path name if OMIGET.EXE and OMIPUT.EXE are not in the path of the HOST PC. 6.6 Printing When host printing is being redirected to the Remote computer's printer, HANDS ON needs to know which printer to use. LPT1: is printer 0, LPT2: is printer 1, and LPT3: is printer 2. Serial printers are not directly supported. Note that it is not necessary or possible to specify which host printer is to be redirected; anything sent to LPT1:, LPT2: or LPT3: will be redirected. This was done to save the user the trouble of working out which printer the host was using. HANDS ON Remote Access HO.txt manual Page 24 6.7 Setting the bell or beep The frequency (or pitch) and the duration of the "bell" can be modified to suit your personal preferences (and the volume of your PC's speaker!). The "bell" is used to indicate that some corruption of the data being received by HANDS ON has occurred. 6.8 Sizing file transfer blocks The size of file transfer blocks and the number of buffers should not need to be changed, except on a very poor 'phone line (in which case smaller blocks and fewer buffers may improve matters). However, if the line is this bad then HANDS ON will probably be unusable anyway... 6.9 Break The length of "break" required is not likely to need to be changed - unless perhaps a mini-computer requires longer? 6.10 Block wait During a file transfer, HANDS ON will wait a certain time for the start of each block. If nothing has been received within the time, then HANDS ON will request the block be sent again (since presumably it got lost). 6.11 Block delays Once the first character in a block has been received, the rest should follow immediately - any gap probably means problems. However, when using an overloaded mini-computer link (or using a packet network that may introduce delays between packets, or using a modem with error correction, compression or bps translation) this parameter could need to be longer. 6.12 Lost characters Since on some PCs (mainly ones with CGA displays) interrupts are disabled for LONG periods when writing to the screen, it may be necessary to make HANDS ON pretend to type quite HANDS ON Remote Access HO.txt manual Page 25 slowly, especially when sending things like file transfer commands. If you find you are losing characters under these circumstances, then make this delay longer; if you have a smart BIOS and/or version of DOS and/or command interpreter and/or display card then you may be able to get away with a shorter delay (even 0 ms). On all the systems used to date, the time taken to send two characters at 2400 bps or below is sufficient, so this delay is probably only needed above 2400 bps. (You may say "who still uses CGA?", but we provide free support to non-profit people that use whatever we scrounge together for them.) 6.13 Passwords The password must match the password installed in HOHOST at the host computer. The Hands On system can also be configured to use secondary passwords, so you can use this automatic password setting and supplement it with a second one. For example, the RUNT program also includes password capability. 6.14 Inter-computer links There are three kinds of link that may be used between two PCs: MODEM Use this if you are working with a modem that provides CARRIER DETECT (note that you will require an appropriate cable and possibly some initialization of the modem [see the start of Appendix A]). You can also use this if you are using a null modem cable that provides a CD line. DIRECT Use this if you are working with a three-wire null modem cable, or if you are using a modem/cable that cannot provide accurate CD information. OTHER Use this if you are working with a mini-computer link (see scenario A4), or for initial modem setup (see the start of Appendix A). You can directly edit the .HO file or use 1STHAND to edit it. Neither HOHOSTIN nor HOMINS provides this capability. 6.15 Flow control HANDS ON can use the following flow control systems: HANDS ON Remote Access HO.txt manual Page 26 NONE No flow control. Use this with a direct cable or with modems that require no speed adjustment. CTS Hardware flow control using RTS (request to send) and CTS (clear to send). Use this in preference to software flow control if it is available. XON Software flow control using XON and XOFF (/). Use this if flow control is needed and hardware flow control is not available. TRY THIS FIRST, if you need to tinker. BOTH Use both software and hardware flow control. See the discussion of flow control under host installation for further details. 6.16 Send Breaks? Normally HANDS ON should send BREAKs to HOHOST, but see scenario A4 for use with a mini-computer link. 6.17 Keyboard settings Normally HANDS ON will use the BIOS for keyboard input. However, many BIOSes filter out keys from enhanced keyboards (e.g. ), and if use of these keys is important then it may be necessary to NOT use the BIOS, but rather to use the keyboard input buffer directly. Note however that some keyboard enhancing programs (such as Newkey) will only work with the BIOS setting. This is because they intercept the keyboard interrupt and store keys away in some place other than the standard buffer area, so that HANDS ON cannot find them! 6.18 PROMPT when shelled The DOS prompt for when you are in a HO shell can be edited to suit your individual preferences - the %s inserts the original prompt. 6.19 Hotkeys If you don't like the default key combination to access local commands in HO, then you can HANDS ON Remote Access HO.txt manual Page 27 change this to any other combination of these four main shift keys ("CAL" would mean for example) - see scenario A3 for an application of this). 6.20 Sending CONNECT The connect command for the modem is sent when HANDS ON starts running (this will often be a dial command). The modem command strings here have the same format as those described above for the host computer installation (with the addition of a \B escape sequence that causes HANDS ON to transmit a BREAK). Make sure you leave the double quotes (") around each string! 6.21 Sending disconnect The disconnect command is sent when HANDS ON terminates (using exit option 3 only). "ATH0\r" is a standard 'hangup' string. 6.22 Modem response strings The automatic response strings at the end of the file can be used to respond to modem status messages. For example, if the Remote computer's modem is not set to auto-answer, then HANDS ON may need to respond to a "RING" message from the modem by answering the 'phone - see scenario A5 for an application. These strings can also be used to achieve an automatic login to a mini-computer - see scenario A4 for an example. The trigger strings are only active before a HANDS ON - HOHOST link is established. They are also disabled once the final trigger string has been detected. Please note that since this file contains the password, anyone who obtains a copy of this file can potentially access the host computer! You might consider encrypting the individual .HO files. One option is to store them in an encrypted .ZIP file and bring them out as needed. Consider truncating such files to zero length before erasing them afterwards so they cannot be easily undeleted. 7.0 How to Use HANDS ON The following instructions assume that HANDS ON has been correctly installed (see sections 4 and 5). Only general guidelines are given here; more details are provided in the HANDS ON Remote Access HO.txt manual Page 28 scenarios in Appendix A. 7.1 Host Computer First run the HOHOST program. If the Remote computer is to originate the 'phone call, then this may be all that is necessary. If the host computer is to originate the call, then use the command: HODIAL or HODIAL 999-9999 depending on how the dialing format string was installed. Once HOHOST is resident and the call is established, the host computer can be used normally. The only difference is that everything that appears on the screen is also being repeated on the Remote computer's screen. The best way to remove HOHOST from memory is to run HOREMOVE. It is also possible to use utilities such as MARKNET/RELNET. Note that some common mark/release utilities can NOT be used, because they do not restore the interrupt mask register. You will find the RS232OFF.EXE program in the distribution. It can be used to reset your machine's com ports. We use it 'all the time'. 7.2 Remote Computer Use the command: HO [use HO.HO configuration file] or HO filename [use filename.HO configuration file] If the Remote computer was to originate the call, then the modem initialization string in the configuration file will usually include a dial command to call the host computer, but it is NOT automatically included in the installation. See the INIT file for the initialization string that matches your modem. Add something like ATDT 433-5189 for dialing the specific phone number. You can use the 1STHAND program to setup for calls to multiple numbers with various passwords. Check out the HOMENU.BAT menu files for usage clues. If the host computer was to originate the call, then the initialization string may contain an answer 'phone command. Note that in this case it is important that the HANDS ON program not be run until after the 'phone starts ringing! (Alternatively, there may be no initialization string, but instead there may be a trigger string to respond to RING from HANDS ON Remote Access HO.txt manual Page 29 the modem - see scenario A7.) If the configuration file contains no modem initialization string, then the user at the remote computer can enter modem commands manually. This may be convenient for a consultant wishing to dial many different clients. You can also use HODIAL or HOMODSET for modem setup and dialing. This gives you the most flexibility. (Before a carrier is detected, HANDS ON will behave much like a normal communications program.) Once both HANDS ON and HOHOST are running and connected to each other, they will automatically adjust the host computer's "baud" rate (if this feature is enabled) and the host computer will check the password provided by the Remote computer. Provided the password is correct, the Remote computer will effectively be able to take over the host computer, or alternatively to observe whatever the host computer is doing. Any key typed on the Remote computer will be acted upon by the host computer, and anything that appears on the host computer's screen will also appear on the Remote computer's screen. It is sometimes necessary to execute a command on the Remote computer, rather than transmitting the keystroke to the host computer. This is achieved by holding down some combination of left shift, right shift, ctrl and alt all at the same time (the exact combination is specified in the .HO file currently in use). When you do this a list of all the possible commands will be displayed, and you can then type the required command key: F2 simulate a carrier signal (useful if the modem does not provide this information) [link type should be OTHER to use this command] Ctrl-F2 simulate NO carrier signal (opposite of F2) F6 send break, restart session [use this if HANDS ON locks up - very rare!] F8 reboot the host computer (useful if host computer "hangs" for any reason, but make sure HOHOST is run from AUTOEXEC.BAT!) F9 shell directly to DOS, return to HANDS ON later by typing "exit" F10 exit HANDS ON [optionally shell out and return later] HANDS ON Remote Access HO.txt manual Page 30 Home refresh display from HOST [use this if a bad 'phone line messes up the screen] PgUp upload file using OMNI protocol [transfer file(s) from Remote to host] PgDn download file using OMNI protocol [transfer file(s) from host to Remote] Note that before performing a file transfer, the host computer must be at the DOS prompt, and OMIGET.EXE and OMIPUT.EXE must be accessible in the current path. Alternatively the .HO file must contain full paths, not just OMIGET but rather C:/HO/OMIGET - note the forward slashes so the software will not eat them. If you vastly prefer backslashes you will need to double them. If OMIGET/OMIPUT cannot be found, then the host will display a "command not found" error message, but HO will go on waiting for a response from OMIGET/OMIPUT! Pressing any key will end this waiting and bring up an appropriate error message. If a file transfer needs to access a file in another directory, it may be convenient to shell out of HO, change directories, and then exit from DOS back into HO to start the file transfer. HO will transmit any path that you specify, so if the two PCs have equivalent directory structures it is easy to transfer files to the corresponding directory on the other PC (see Appendix B for a sample file transfer session). If you automate file transfers with the Wizard and the Wizard Feeder, the Feeder can automatically change directories for you. 8.0 HANDS ON Utility Programs 8.1 HOREMOVE - memory ripper This will search for a copy of HOHOST loaded in memory. If one is found, then it is checked to see whether it is currently in use (if so, HOREMOVE will ask for confirmation before removing it). If it is not in use, or if it is to be removed anyway, all interrupts, the interrupt mask register and the serial chip state are restored to their initial state when HOHOST started running, and HOHOST's memory is freed. Please note that as with most TSR programs, this may not work unless HOHOST was the most recent TSR to be loaded. In HANDS ON Remote Access HO.txt manual Page 31 general TSR programs should be unloaded in the reverse order they were loaded. In this case "not working" means that any TSR loaded after HOHOST may cease to function. If this is not possible then the use of MARKNET/RELNET (or some other mark/release utility that preserves the interrupt mask register as well as the vectors) is recommended. It is sometimes convenient to be able to keep a modem connection even though HOHOST is being unloaded. Normally, HOREMOVE will restore the serial port state to its original state when HOHOST was first run. However, it is possible to force the DTR line to be left active by entering: HOREMOVE ON and DTR can be forced off by entering: HOREMOVE OFF If either ON or OFF is specified, then HOREMOVE assumes you know what you are doing and does not ask for confirmation even if a link is active, allowing HOREMOVE to be used in a batch file on the host PC without pausing for input. 8.2 HOHOSTC - flying changes This program works much like HOHOSTIN, except that instead of modifying files on disk it modifies the copy of HOHOST currently active in memory. Not all parameters may be altered "on the fly" - for example, the COM port cannot be altered mid-session. The anticipated use for this program is to do things like turning private mode on or off for just part of a session... Note that the copy of HOHOST.EXE on disk is not modified. 8.3 HOTALK - chat HOTALK will allow the users at the host and Remote computers to "talk" to each other. Anything that is typed at the host computer is displayed in the top half of the screen, and anything that is typed at the Remote computer is displayed in the bottom half of the screen. This is also known as a CHAT feature. HOTALK sends a special command to HO to tell HO that talk mode is required, so that HO will send keys in a way that can be distinguished from the host keys. If this command is lost, then what is typed at either end will appear in the top window! If this happens, simply exit HOTALK (Alt-X) and run it again. HANDS ON Remote Access HO.txt manual Page 32 HOTALK also sends a special command to HO to tell HO to end talk mode. If this command is lost, then HO will behave normally unless a program that uses shift-key status is run, which will cause problems because in talk mode HO does not send shift status information! To correct this problem, use local HO command (simulate carrier), since a side effect of this command is to end talk mode. Please note that this distribution includes the telemenu, which also has chat capability. 8.4 HOEXTS and HOEXTR - links to DSZ These programs are normally called from HOSZ.BAT and HORZ.BAT respectively. They allow a clean interface between HANDS ON and external file transfer programs such as DSZ, and hydracom. They are reproduced below: rem the horz.bat hoextr dsz #portx# rz rem the hosz.bat hoexts dsz #portx# sz %1 %2 %3 %4 %5 %6 %7 %8 %9 These programs are an exception to the rule that HOHOSTIN installs only programs used at the host end; HOEXTS.EXE and HOEXTR.EXE both need to run at both ends, so they must be installed for the correct modem port etc on the Remote as well as the host. Once HOHOSTIN has installed these programs correctly on both the host and the Remote, and HORZ.BAT, HOSZ.BAT and the external protocol program (such as DSZ.EXE) are in some directory on the path of both the host and Remote, file transfer is quite simple: To download a file from the host PC to the Remote PC, simply enter the following command on the host PC: HOSZ ... and HO will automatically run HORZ on the Remote without you doing anything! To upload a file from the Remote PC to the host PC, first ensure that the host PC is at the DOS command prompt. Then shell out of HO (using local F9). Finally enter the following command on the Remote PC: HANDS ON Remote Access HO.txt manual Page 33 HOSZ ... and HOHOST will automatically run HORZ on the host. HORZ.BAT, HOSZ.BAT, HOEXTS.EXE and HOEXTR.EXE all pass parameters on to the external protocol program, so parameters other than file names can be used if desired. HOEXTS.EXE and HOEXTR.EXE recognize one special parameter: #portx# which will substitute in the DSZ portx , command. This allows HORZ.BAT and HOSZ.BAT to remain unchanged even when HANDS ON is installed for a different port. See the supplied HORZ.BAT and HOSZ.BAT for examples of this. 8.5 HOMODSET - modem setting Usage: HOMODSET [-fr] [filename] HOMODSET will send all the "enclosed" commands in HOMODSET.DAT (or in filename.DAT if specified) to the modem, waiting for an "OK" response to each command. This is useful to set up very complicated parameters necessary for some of the more sophisticated modems. It assumes a modem that uses the Hayes AT command set (at least at&f to restore factory defaults and OK in reply to a good command). Yes, you can use it to dial the phone. The -r command line option will cause HOMODSET to start with an "at&f" command to reset the modem to factory defaults, just in case a previous program has left the modem in a peculiar state. The "at&f" is sent before HOMODSET starts monitoring for command echo or "OK" responses. If a carrier is present when HOMODSET runs then it will exit without doing anything unless the "-f" (for "force") command line argument is present. This allows HOMODSET to be run from AUTOEXEC.BAT without disrupting an existing connection if the host PC needs to be rebooted. Note that HOMODSET is installed by HOHOSTIN, so if you want to use HOMODSET on the Remote PC you will need to install the host programs on the Remote PC (once installed, the other host programs may be deleted, but they must be present for HOHOSTIN to run). Note also that you cannot use HOMODSET to set the modem to "no echo" or "quiet" modes, since HOMODSET monitors that commands HANDS ON Remote Access HO.txt manual Page 34 are being echoed and that the modem is responding with "OK" to each command. 8.6 HOCHECK - time and day monitor HOCHECK checks to see if the current time is within a specified range, and returns the DOS errorlevel set to 0 if within the range and 1 if outside the range. The following code might appear in an AUTOEXEC.BAT file on a host computer: HOCHECK 9:00:00 17:00:00 if not errorlevel 1 goto done HOHOST :done The effect of this is to first check to see if the time is between 9AM and 5PM. If so, then errorlevel is set to 0, and nothing further happens. However, if the time is not between 9 and 5, then HOHOST will be run. This has proved valuable when HOHOST must run on an office computer outside normal working hours, but the computer must be used normally during the day. See also scenario A5 for a further application. You can also use HOCHECK to check for the correct day as in: REM This sample checks to see if the day is monday HOCHECK mon if not errorlevel 1 goto bypass HOHOST :bypass IF the day matches, the errorlevel is set to 0, otherwise it is set to 1. This allows some matters to be automatically setup on specific days. The allowable days match the days of the week as in: sun mon tue wed thu fri sat 8.7 HOASK - batch query tool Usage: HOASK HOASK works much like a normal batch file enhancing ASK program, except that it has a timeout. This is useful when a computer will usually be used as a HANDS ON host, but sometimes must be used locally. Rather than having to boot from a different disk, the following code might appear in an HANDS ON Remote Access HO.txt manual Page 35 AUTOEXEC.BAT file on a host computer: @echo off path c:\\HO HOASK 5 "Do you want to load HOHOST? (y/n)\a\a: " "yn" if errorlevel 1 goto no HOHOST :no The effect of this is to run HOHOST if the user presses the 'y' key or if no key has been pressed after 5 seconds. If a user is at the computer and answers 'n' then HOHOST will not be loaded. See scenario A5 for an example of this. HOASK returns an errorlevel that depends on the string: the first letter in this string (or a timeout) returns error level 0, the second returns error level 1 and so on. Case is not significant unless the string contains the same letter in both upper and lower case. HOASK may be distributed freely and separately. 8.8 HOSPEED Usage: HOSPEED HOSPEED will set the display update speed of the current (most recently loaded) copy of HOHOST in memory. The speed is specified in bits per second (bps). Usually HOHOST will use the same speed the COM port has been set for, since this gives the fastest possible performance and response time. However, under some circumstances it may be desirable to set a different update speed: 1. A lower update speed will mean that HOHOST uses less CPU time, since it will not try to update as much of the screen at every clock interrupt. This can be important for applications which are very CPU-intensive and time-critical, when display update speed is not important. 2. A higher update speed will mean that HOHOST buffers up more screen data than the COM port can transmit. The effect of this is to slow down the response time to screen changes, since HOHOST will still be catching up with old screen changes. However, operations such as directory scrolling can be made to appear smoother if response time is not important. If no speed is specified, HOSPEED reports the current speed without changing it. HANDS ON Remote Access HO.txt manual Page 36 8.9 HOSTATUS Usage: HOSTATUS [help | quiet | messages] HOSTATUS reports on the status of HOHOST. If no argument is specified, it displays instructions. The options are: help: explains exit status values quiet: just returns an exit status value messages: reports HOHOST's current status The possible exit status values are: 0 HOHOST is not loaded 1 Some other HO program (not HOHOST) is loaded 2 HOHOST is loaded but not active 3 HOHOST is loaded and a session is active This program can be used in a batch file to take alternative action depending on what HOHOST is doing. 8.10 1STHAND - multiple tools You first use 1STHAND during the installation and configuration, but it has ongoing uses as follows: The most common ongoing use will likely be for call/connection setup, including the various people and phone numbers. The 1STHAND.exe program provides quick on-line access to the manuals, a simple DOS menu, a simple equipment display, the modem database and other configuration settings, and provides easy access to the hohostin.exe and hohostc.exe programs. It has its own context sensitive user changeable help. 1STHAND accepts command line switches or parameters as in: 1STHAND call Provides the overall "Phone" menu that includes selecting, editing, and new entries. 1STHAND dial Gives you a list of telephone numbers and names for you to select from before it dials. It actually uses a text file called PHONE.TEL for the 'directory information'. When you use "1sthand dial" you are presented with the list of people and places to call that you have previously setup. Selecting one actually creates a batch file called "MAKECALL.BAT". Run makecall.bat to actually dial the number. The HOMENU menu scheme automates this for you. Naturally, you are free to swap the whole scheme over to your favourite menu program. Its designed to be flexible. HANDS ON Remote Access HO.txt manual Page 37 1STHAND CALL The overall phone menu. 1STHAND DIAL EDIT To edit the PHONE.TEL file and matching .HO file. 1STHAND DIAL NEW To add new entries to PHONE.TEL and new .HO files. 1STHAND EDIT To choose and edit text files. 1STHAND setup Guides you through a directed Hands On setup. 1STHAND modem Directly takes you to modem selection. 1STHAND xyz.txt To browse a .txt file enter its name as a parameter. The file's name must end with .txt. 1STHAND contains its own setup under the SETUP menu selection. 1sthand runs the full setup tool HOHOSTIN.EXE as part of the installation but you can rename HOMINS.EXE to HOHOSTIN.EXE to simplify the setup. HOMINS.EXE is a simple subset of HOHOSTIN.EXE with restricted setup choices. The preferred way to do this is to first run HOHOSTIN.EXE to ensure all the choices meet your criteria and save the results. When you save the results, they are written to the bottom of various .EXE's like HOHOST.EXE. HOMINS.EXE picks up this information from HOHOST.EXE when it is run, but it only allows anyone to change a strict subset of the settings. This simplifies and restricts the setup choices. There are various security and reliability reasons why various people like the optional simpler installer available for redistribution and ongoing usage. 9.0 SUPPORT and the ASP Please consider reporting the circumstances, preferably in written form, to technical support when you discover problems with the software. For technical support, either call (604) 433-5189, or write to Suite 606 - 6455 Willingdon Avenue, Burnaby, British Columbia, Canada, V5H 4E8. Both registered and soon to be registered users currently get the same support without any arbitrary time limit. You may also try leaving a Compuserve message at 75020, 2664, but be aware that messages rapidly 'scroll off' Compuserve. The best electronic message area (also available from Compuserve) is via the internet at: INTERNET:vic_williams@mindlink.bc.ca. P. C. Softsmith Suite 606 6455 Willingdon Ave Burnaby, B. C., Canada V5H 4E4 portions Copyright (C)1994-5 P. C. Softsmith All Rights Reserved HANDS ON Remote Access HO.txt manual Page 38 ASP Introduction: Please also carefully read the accompanying SHR_WARE.txt document. "This program is produced by a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3538." 10.0 Warranty THE DOCUMENTATION AND ASSOCIATED SOFTWARE ARE DISTRIBUTED AND SOLD WITH NO WARRANTIES, EITHER EXPRESS OR IMPLIED, REGARDING ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. THE INFORMATION IN THIS DOCUMENTATION IS SUBJECT TO CHANGE WITHOUT NOTICE AND DOES NOT REPRESENT A COMMITTMENT ON THE PART OF THE VENDOR. OTHER PRODUCT AND BRAND NAMES MENTIONED ARE TRADEMARKS OR REGISTERED TRADEMARKS OF THEIR RESPECTIVE HOLDERS. FOR INFORMATION ONLY, PORTIONS OF THIS DOCUMENT AND THE SOFTWARE ARE LICENSED COPYRIGHT MATERIAL COURTESY DOUGLAS THOMSON APPENDIX A - Configuration Scenarios The following are specific situations in which HANDS ON has been used. The descriptions of the situations, and the resulting configurations of HANDS ON, are presented in detail. It is hoped that seeing the way HANDS ON was installed in some typical applications will help when it comes to installing HO for your own situation. Note that unless otherwise stated, all modems are assumed initially to be in the HANDS ON default state, to be connected to the PC via a 25-way straight-through modem cable, and to be Hayes compatible. To get a Hayes compatible modem into the HANDS ON default state the following commands should be sent to the modem using any normal communications program (or using HANDS ON Remote Access HO.txt manual Page 39 HOMODSET): AT &F restore modem to "factory default" AT &C1 modem should report true carrier status AT &D2 modem should take notice of DTR to hang up 'phone AT X4 (optional) give detailed status messages etc AT &W save current state for future use (the state is saved in non-volatile RAM, so that this setup only needs to be done once unless some other program interferes) To ensure that HANDS ON is talking to the modem, I recommend the following sequence (at both the host and the Remote PC): 1. Run HOHOSTIN and select the COM port and IRQ line that are connected to your modem (use the X option first to have HOHOSTIN search your hardware for available ports and active IRQ lines). 2. Set the "baud" rate to the appropriate speed for your modem. 3. Save the configuration. 8. Run HOMODSET. This not only sets the modem into a reasonable state for HANDS ON, but in doing so it will confirm (if everything is OK) or deny (if it reports an ERROR) that you have indeed selected the right address and interrupt for your modem. There is no point in proceeding further until HOMODSET will run and report everything OK. Rerun HOHOSTIN and change COM ports if all you get is ERRORS (or turn the modem on, ... or see QUICK.txt for more help). A1. Consultant/Client via Modem Here the consultant is running a 2400 bps modem connected to COM1, and the client (whom we will call Mary) is running a similar modem also connected to COM1. The consultant will be performing the HOHOST installation for the client, and then sending the client the installed version ready to run. When the client wants help, she will call the consultant (a normal voice call). When both parties are ready HANDS ON must take over the call. HOMINS.EXE was added to Hands On for version 5.10. It is a simplified subset of HOHOSTIN.EXE to minimise confusion and restrict access to some choices. It can somewhat reduce HANDS ON Remote Access HO.txt manual Page 40 ongoing support costs for support people. First the consultant must run HOHOSTIN or HOMINS, and make the changes necessary to achieve the following display: HANDS ON Host 5.10 Installation A. Select serial port (currently COM1) B. Change password (currently "Fred's password") C. Change modem initialization string (currently: "") D. Change modem dialing format string (currently: "ata\r") E. Select maximum "baud" rate (currently 2400) F. Use modem CARRIER DETECT signal (currently YES) G. Flow control (currently NONE) H. Generate INT 9 on each key (currently NO) I. Respond to modem RING signal (currently NO) J. Reboot on loss of carrier (currently NO) K. Synchronize "baud" rate (currently YES) L. Send wakeup every 2 minutes (currently NO) M. Private mode (currently NO) N. Printer redirection (currently HOST) O. Maximum call length (currently unlimited) P. Create consistent .HO file Q. Abandon changes S. Save changes and leave installation program Selection: Refer to section 4 for the meaning of each option. Since both modems run at the same speed it does not matter whether "baud" rates get synchronized or not. Since Mary will only run HOHOST when she wishes to get help from the consultant, the password is not important. The modem dialing format string simply answers the 'phone - or more accurately, since the 'phone will already be in use for the voice call, it causes the modem to take over the call in "answer" mode. Next the consultant selects option P from the main menu, and enters the name of the configuration file he wishes to use for Mary: HANDS ON Host Program .HO File Name Selection Edit existing string: Mary HANDS ON Remote Access HO.txt manual Page 41 Finally the consultant exits HOHOSTIN by selecting option S to save the changes. The consultant can now send Mary a disk with all the installed HANDS ON files on it (note that the consultant should also send Mary an unaltered original copy of the HANDS ON files in case Mary wants to pass them on to anyone - see the LICENCE.txt file for details). Now the consultant needs to edit the file named Mary.HO to make a few alterations (HOHOSTIN only provides a starting point...). In particular, the following line must be changed: "" Connect command for modem to: "AT D\r" Connect command for modem This command tells the modem to go "off hook" and take over the call in "originate" mode. This completes the installation stage. When Mary wants some help, she will run HOHOST and then 'phone the consultant and explain the problem. When the consultant is ready, he will enter the command: HO Mary and then instruct Mary to enter the command: HODIAL and hang up the 'phone as soon as she (Mary) hears the modem making a "screaming" noise. After giving these instructions (and thus while Mary is still typing) the consultant will hang up his 'phone. Mary will finish entering the HODIAL command (or more likely selecting correct menu selection), and hang up when she hears the screaming noise. HANDS ON will then take over the call, synchronize "baud" rates, exchange passwords, and give the consultant control of Mary's computer. When the consultant is finished, he will exit HO using option 3, which will cause the modem to hang up and terminate the 'phone call. Mary can either leave HOHOST running (it will do no harm, and uses only a little over 10K of memory), or else use HOREMOVE to uninstall HOHOST. A2 Remote/Shared via Modem Here a remote user wishes to connect into a local area network, and one node in the LAN is dedicated to this purpose. The main problem is that since the LAN node will be unattended, all it takes is one user to run a program which HANDS ON Remote Access HO.txt manual Page 42 "hangs" the computer, and then no-one will be able to dial in until someone pushes the reset button on the node PC! However, in this scenario there is a modem-controlled switch box which turns on power to the node PC as soon as the 'phone starts ringing, and leaves the power on until either a minute or so has elapsed with no carrier being established, or until the carrier is lost (which will happen when the remote user hangs up). This means there is no problem if a user "hangs" the computer; just hang up and then dial in again, and the computer will have been powered down and come up again clean. Since many users must share the remote access PC, the duration of a session may need to be limited so that one user cannot tie up the line for more than 30 minutes. The node PC has a 9600 bps modem connected to COM2, and the remote user is running a 2400 bps modem connected to COM1. The node PC is equipped with a CGA color display card (with no monitor required). The remote PC is equipped with a Hercules monochrome display. The LAN manager will be performing the HOHOST installation for the node PC, and then providing all the remote users with a disk that is almost ready to go. The 'phone number of the node PC is 123 4568. First the LAN manager must run HOHOSTIN, and make the changes necessary to achieve something like the following display: HANDS ON Host 5.10 Installation A. Select serial port (currently COM2) B. Change password (currently "sdggsdjgxvwept9m,.mvikjdsdh") C. Change modem initialization string (currently: "\rata\r") D. Change modem dialing format string (currently: "\r%s\r") E. Select maximum "baud" rate (currently 2400) F. Use modem CARRIER DETECT signal (currently YES) G. Flow control (currently NONE) H. Generate INT 9 on each key (currently NO) I. Respond to modem RING signal (currently NO) J. Reboot on loss of carrier (currently NO) K. Synchronize "baud" rate (currently YES) L. Send wakeup every 2 minutes (currently NO) M. Private mode (currently YES) N. Printer redirection (currently Remote) HANDS ON Remote Access HO.txt manual Page 43 O. Maximum call length (currently 1800 s) P. Create consistent .HO file Q. Abandon changes S. Save changes and leave installation program Selection: Refer to section 4 for the meaning of each option. Note that the modem initialization string answers the 'phone - this is nice in the case of timed call charges, since the remote user does not pay for the time it takes the PC to boot. Since some remote users will dial in at 2400 bps, HOHOST must be installed for 2400; but since other remote users will dial in at 1200 bps it is essential that "baud" rates get synchronized. Since anyone could try to get into the LAN via the node PC the password is very important - notice that it is both long and quite random. The LAN node PC is in a public location, so the screen is blanked and keyboard locked for privacy. Printer output is sent back home to the users. The maximum session length allowed is set to 1800 seconds (30 minutes). Next the LAN manager selects option P from the main menu, and enters the name of the configuration file he wishes to use for the node PC: HANDS ON Host Program .HO File Name Selection Edit existing string: lan1 Finally the LAN manager exits HOHOSTIN by selecting option S to save the changes. He can now make up a disk with all the installed HANDS ON files on it to give to the remote users, but first he must edit the LAN1.HO file to install the node PC's 'phone number. This means changing the line: "" Connect command for modem to: "AT D 123 4567\r" Connect command for modem so that when remote users run HO the number will be dialled automatically. Also, since modems more often use COM1 than COM2, the LAN manager should probably edit the line: 02F8/IRQ3 (COMn or base/interrupt) to become: "COM1" (COMn or base/interrupt) A2.3 Now the remote user needs to edit his personal copy of the file named LAN1.HO to work at 1200 bps. The line containing: 2400 "Baud" rate (typically 2400 or 19200) must HANDS ON Remote Access HO.txt manual Page 44 be changed to: 1200 This completes the installation stage. When the remote user wishes to connect into the LAN, he will enter the command: HO LAN1 This will cause the modem to dial the node PC, which will cause the modem switch box to turn on the power to the node PC, which will boot and then run HOHOST, which will make the node PC's modem answer the call. HANDS ON will then synchronize "baud" rates, exchange passwords, and give the remote user control of the node PC. When the remote user is finished, he will exit HO using option 3, which will cause the modem to hang up and terminate the 'phone call. The node PC will then be powered down until the next call. A3 Laptop/Desktop via Direct Cable A3.1 Here someone wishes to connect a laptop computer to a desktop computer via a three-wire null modem cable. The reason for this is that the desktop only has a 5.25" disk, and the laptop only has a 3.5" disk, and it is necessary to transfer files between the two systems. The desktop computer is a 20MHz 80386, and the laptop is a 12MHz 80286. The cable is connected from COM1 on the desktop to COM1 on the laptop. The desktop has a VGA color display; the laptop has a gas plasma display that emulates EGA. It does not matter which PC is the host, but for the sake of this example we will assume the desk PC will be the host. The laptop computer has its key right next to , so the user does not wish to be using for fear of accidentally rebooting the computer. seems a safer combination. First the user must run HOHOSTIN, and make the changes necessary to achieve something like the following display: HANDS ON Host 5.10 Installation A. Select serial port (currently COM1) B. Change password (currently "password") HANDS ON Remote Access HO.txt manual Page 45 C. Change modem initialization string (currently: "") D. Change modem dialing format string (currently: "") E. Select maximum "baud" rate (currently 38400) F. Use modem CARRIER DETECT signal (currently NO) G. Flow control (currently NONE) H. Generate INT 9 on each key (currently NO) I. Respond to modem RING signal (currently NO) J. Reboot on loss of carrier (currently NO) K. Synchronize "baud" rate (currently NO) L. Send wakeup every 2 minutes (currently NO) M. Private mode (currently NO) N. Printer redirection (currently HOST) O. Maximum call length (currently unlimited) P. Create consistent .HO file Q. Abandon changes S. Save changes and leave installation program Selection: Refer to section 4 for the meaning of each option. Notice that the "baud" rate is set to 38400 for fast file transfers (experiment if you happen to find a failing system). Obviously, the password is not important here. Next the user selects option P from the main menu, and enters the name of the configuration file he wishes to use for the desktop: HANDS ON Host Program .HO File Name Selection Edit existing string: desk Finally the user exits HOHOSTIN by selecting option S to save the changes. Next the user needs to edit the file named DESK.HO to use the shift key combination required for the laptop. The line containing: "LRCA" Local command shifts (Left, Right, Ctrl, Alt) must be changed to: "LCA" Local command shifts (Left, not Right, Ctrl, Alt) The user can now copy the installed files onto a 5.25" floppy HANDS ON Remote Access HO.txt manual Page 46 disk, take the disk to a computer that has both 5.25" and 3.5" inch drives, and copy the file onto a 3.5" disk for the laptop. This completes the installation stage. When the user wishes to connect the two computers, he will enter the command: HOHOST on the desktop, and the command: HO DESK on the laptop. This will cause HANDS ON to exchange passwords and give the user control of the desktop computer from the laptop. Files can now be transferred at almost 3.8K per second! When the user is finished, he will exit HO using option 3, which will take the laptop back to normal, but leave HOHOST in the desktop's memory (see A1.5 for further discussion of this). A4 Remote/Shared via Common Mini-computer Here a remote user wishes to connect into a local area network, and one node in the LAN is dedicated to this purpose. There is no direct link between the PCs; instead, both the node PC and the remote user must log into the same mini-computer and run a link program (such as HOFIFO) to establish a connection via the mini-computer. One problem is that since the LAN node will be unattended, all it takes is one user to run a program which "hangs" the computer, and then no more remote users will be able to connect to the LAN until someone pushes the reset button on the node PC! (Note that HANDS ON does support rebooting the host PC, but this can only work if interrupts are not disabled and if the relevant code has not been overwritten. As a rule, HANDS ON can get out of any situation that could get out of, but if the hardware reset button was needed HO would be helpless.) Another potential problem is that if one user exits HO while still logged in to the LAN, then the next user could pick up the session! This is avoided by having the link program send a "reboot" command to the node PC when the link is broken. HOFIFO cannot pass BREAKs from one end to the other; instead, BREAK is used to terminate the execution of HOFIFO. This means that HO must not send a BREAK unless it wants to kill the link. HANDS ON Remote Access HO.txt manual Page 47 To make life complicated, the mini-computer will automatically disconnect any terminal that does no input or output for 5 minutes. However, the node PC must remain connected to the mini-computer all day waiting for remote users to connect in. The mini-computer links are set at 9600 bps, and cannot be changed. Both computers are connected to the mini-computer via COM1, and both computers are running color displays (however, the dedicated node PC requires no monitor). The LAN manager will be performing the HOHOST installation for the node PC, and then providing all the remote users with a disk that is almost ready to go. First the LAN manager must run HOHOSTIN, and make the changes necessary to achieve something like the following display: HANDS ON Host 5.10 Installation A. Select serial port (currently COM1) B. Change password (currently "sdfddffgjkiou77hgsduh875sdh") C. Change modem initialization string (currently: "") D. Change modem dialing format string (currently: "") E. Select maximum "baud" rate (currently 9600) F. Use modem CARRIER DETECT signal (currently NO) G. Flow control (currently NONE) H. Generate INT 9 on each key (currently NO) I. Respond to modem RING signal (currently NO) J. Reboot on loss of carrier (currently NO) K. Synchronize "baud" rate (currently NO) L. Send wakeup every 2 minutes (currently YES) M. Private mode (currently YES) N. Printer redirection (currently Remote) O. Maximum call length (currently unlimited) P. Create consistent .HO file Q. Abandon changes S. Save changes and leave installation program Selection: Refer to section 4 for the meaning of each option. The password is not so critical here, since a user must be able to log into the mini-computer before getting through to the node PC. The mini-computer line will not provide any carrier information, so this must be ignored. "Baud" rates must NOT be synchronized, since a NULL character transmitted at 2400 bps would be received as a BREAK by the mini-computer at 9600 HANDS ON Remote Access HO.txt manual Page 48 bps! To avoid the node PC getting logged out, HOHOST must send a NULL character to "wake up" the mini-computer every few minutes. This will be ignored by HO. Printer output is redirected back to the users. The LAN PC is run with screen blank and keyboard dead for added privacy and security. Next the LAN manager selects option P from the main menu, and enters the name of the configuration file he wishes to use for the node PC: HANDS ON Host Program .HO File Name Selection Edit existing string: lan2 Finally the LAN manager exits HOHOSTIN by selecting option S to save the changes. He can now make up a disk with all the installed HANDS ON files on it to give to the remote users. Due to the way HOFIFO buffers input the delay between sending keys needs to be 165 ms to avoid losing characters! (There could be another reason, and we would appreciate an update on this) Therefore, the line containing: 56 Time to wait between "typing" keys (ms) must be changed to: 165 Time to wait between "typing" keys (ms) Also, since we are using a mini-computer link, the line containing: "DIRECT" Type of link (MODEM, DIRECT, or OTHER) must be changed to: "OTHER" Type of link (MODEM, DIRECT, or OTHER) Finally, HO is capable of automating the mini-computer login process. If this is desired, then something like the following lines must be added at the end of the file: "DISCONNECTED" "\D250\r" "\r" 5000 "Enter RESOURCE ? " "\D100G9000\r" "\r" 5000 "CONNECTED TO" "" "" 5000 "login: " "\D100doug\r" "\B\r" 500 "Password:" "\D100password\r" "\r" 10000 "Selection: " "\D100d\r" "" 40000 "/users/doug>""\D100HOFIFO lan2\r" "" 40000 "and run HO" "\D1000" "" 40000 The exact strings will depend on the mini-computer. This example (apart from the password) works for the author. HANDS ON Remote Access HO.txt manual Page 49 This completes the installation stage. When the remote user wishes to connect into the LAN, he will run HO: HO LAN2 which will automatically log into the mini-computer and run HOFIFO to connect to the node PC (in this case lan2). HANDS ON will then exchange passwords and give the remote user control of the node PC. When the remote user is finished, he will exit HO using option 3, which will send a BREAK to the mini-computer. This will terminate the HOFIFO program which the remote user was running. The HOFIFO program that the node PC was running will detect that this has happened, and send a HANDS ON reboot command to the node PC to ensure that the next user cannot pick up anything the previous user left running. The node PC's HOFIFO program will then prepare for the next remote user. The node PC will complete rebooting, and run HOHOST from AUTOEXEC.BAT ready for the next remote login. A5 Home/Office via Modem Here a user wishes to dial in from home and take over the PC on his desk at work. The office PC has a USR Courier V32bis/V42bis modem connected to COM2, and the home PC has an identical modem connected to COM1. One problem is that since the office PC will be unattended, all it takes is for the user to run a program which "hangs" the computer, and that will be the end of the office PC until the user goes back to work and presses the reset button! (Note that HANDS ON does support rebooting the host PC, but this can only work if interrupts are not disabled and if the relevant code has not been overwritten. As a rule, HANDS ON can get out of any situation that could get out of, but if the hardware reset button was needed HO would be helpless.) Since the user is putting in overtime working at night without getting paid for it, it seems reasonable that the office 'phone should at least pay for the call. However, how can the office computer know when to call the user at home? One possibility would be to set up a batch file to run HODIAL at a predetermined time. However, it would be better if the user could choose any convenient time. HANDS ON can achieve this by monitoring the RING signal from the modem, and responding HANDS ON Remote Access HO.txt manual Page 50 appropriately. The basic idea is that the user will dial the office number, and then hang up as soon as the 'phone starts ringing. HANDS ON will detect the 'phone ringing, and respond by calling the user at home. Since the user does not want to be bothered by nuisance calls from the office computer, HANDS ON needs to be quite selective about the ring patterns it will respond to. Too short a ring may mean a telephone company routine line test. Too long a ring will mean a person trying to ring the office. The 'phone number of the office PC is 123 4568. The 'phone number of the home PC is 765 4321. First the user must run HOHOSTIN, and make the changes necessary to achieve something like the following display: Hands On Host 5.10 Installation Select serial port (currently COM2) Change password (currently "fhkjeuyibn45938eh8fdfff631wjds874dffd") Change modem initialization string (currently: "at &B1 &H1 S0=0\r") Change modem dialing format string (currently: "\r%s\r") Select maximum "baud" rate (currently 38400) Use modem CARRIER DETECT signal (currently YES) Flow control (currently CTS) Generate INT 9 on each key (currently NO) Respond to modem RING signal (currently YES)--|- 1 too short 220 ms Reboot on loss of carrier (currently YES) |- 2 too long 5000 ms Synchronize "baud" rate (currently NO) |- 3 delay 10000 ms Send wakeup every 2 minutes (currently NO) |- 4 reset 10000 ms Private mode (currently YES) |- 5 send to modem Printer redirection (currently Remote) |- 6 response Maximum call length (currently unlimited) "ATDT 765 4321\r" Create consistent .HO file Abandon changes Save changes and leave installation program Selection: Refer to section 4 for the meaning of each option. Since anyone could try to get into the office PC the password is important - notice that it is both long and quite random. The modem initialisation string changes a USR V32bis modem from its factory default settings to the following: HANDS ON Remote Access HO.txt manual Page 51 &B1 Fixed DTE/DCE rate. This means that the modem will always talk to the PC at 38400 bps, regardless of what kind of telephone connection is made. &H1 Hardware flow control when transmitting data to the modem (no flow control is needed in the other direction, since HANDS ON can keep up with data arriving at 38400 bps). S0=0 The office phone should never answer calls. Since the modem can transmit 1700 bytes per second, and V42bis compression may improve this to around 3400 bytes per second for things like screen updates, the "baud" rate should be at least 34000 bps, and 38400 is the lowest speed over 34000 that the modems can accommodate. It is essential that HOHOST takes notice of the CD signal, since the host computer will be automatically rebooted if the carrier is lost (see below). Flow control is essential, since the PC will be sending data to the modem at 38400 bps and the modem can only guarantee to get rid of it at about 17000 bps! Hardware flow control (CTS) is selected to match the modem configuration. The inter-character gap should be set to a fairly long time; the modems support error correction, so HOHOST should be patient and give the modems time to sort out problems introduced by line noise. 5-10 seconds is a reasonable time: HANDS ON Host Program Flow Control Selection 0. Completed, no (further) change 1. No flow control => 2. Hardware (RTS/CTS) flow control 3. Software (XON/XOFF) flow control 8. Both hardware and software flow control 8. Set inter-character gap time (currently 5000 ms) Selection: The host computer is to monitor the 'phone ringing and respond accordingly (again, see below). "Baud" rate synchronization is not appropriate here, since the DTE/DCE speed is locked. HANDS ON Remote Access HO.txt manual Page 52 The host is set in PRIVATE mode so that no-one walking through the office can read what is on the screen or type commands on the keyboard (very useful if the user will be logging into a LAN as SUPERVISOR!). Printer output is redirected to the Remote PC, so that any printout comes out at home rather than in the office. Next the user selects option P from the main menu, and enters the name of the configuration file he wishes to use for the office: HANDS ON Host Program .HO File Name Selection Edit existing string: office Finally the user exits HOHOSTIN by selecting option S to save the changes. He can now make up a disk with all the installed HANDS ON files on it to take home. Before leaving the office, the user must ensure that AUTOEXEC.BAT has the directory containing all the HANDS ON files on the path, and that HOHOST is run whenever the system boots. However, when the user is at the office he will not want HOHOST loaded, so AUTOEXEC.BAT should contain something like: prompt $p$g path c:\HO HOASK 5 "Do you want to load HOHOST? (y/n): \a\a" "yn" if errorlevel 1 goto no HOHOST :no This will ask the user at the host PC whether or not to load HOHOST (the \a makes HOASK beep), and if the user does not type anything within 5 seconds HOHOST will be loaded anyway. If the user is at the office, then typing 'n' will prevent HOHOST from loading. At home the user needs to edit the file named OFFICE.HO to install the office PC's 'phone number. This means changing the line: "" Connect command for modem to: "AT D 123 4567\r" Connect command for modem HANDS ON Remote Access HO.txt manual Page 53 so that when the user runs "HO OFFICE" the number will be dialled automatically. Next, since the home modem is on COM1 the line: 02F8/IRQ3 Communications port (COMn or base/interrupt) must become: "COM1" Communications port (COMn or base/interrupt) Also, since the modems support error correction, and since line noise can introduce a significant gap in the transmitted data at any time, the timeouts should be made fairly generous by changing the lines: 3000 Time to wait for first char before timeout (ms) 500 Time to wait for subsequent chars in block (ms) to: 10000 Time to wait for first char before timeout (ms) 10000 Time to wait for subsequent chars in block (ms) Finally, HO should respond to the modem ringing by answering the 'phone. This means adding an extra line at the end of the file containing: "RING" "\D250ata\r" "" 40000 (Note the \D250 to wait a little bit for the modem to finish sending the carriage return and line feed after RING before sending the answer command. With some modems this may not be necessary; with others, a different delay may work better. If the answer command is ignored, then try a different delay.) This completes the installation stage. Before leaving the office, the user must remember to reboot the PC (thus loading HOHOST) and leave it turned on! However, it would be a good idea to switch the monitor off. Note that you can leave the HOMENU screen saver running with HOHOST in memory and readily dial in. When the user is ready to dial into the office PC from home, he will enter the command: HO OFFICE This will cause the modem to dial the office PC. The user must then listen to the modem and wait until he hears the 'phone ring once. As soon as he hears this, he must press any key (say the space bar) to terminate the call. HOHOST will start a timer going when the 'phone rings, and then wait 10 seconds, keeping track of the total time the 'phone has spent ringing. If, during the 10 seconds, the 'phone was ringing for more than 0.2 seconds but HANDS ON Remote Access HO.txt manual Page 54 less than 5 seconds, then HOHOST will send the dial command (ATDT 765 4321) to the modem, causing the office modem to ring home. When the user's 'phone rings, the modem will send the message: RING to the home PC, and HO will trigger on this to respond to the modem with: ATA which will answer the 'phone. HANDS ON will then exchange passwords and give the user control of the office PC. When the user is finished, he will exit HO using option 3, which will cause the modem to hang up and terminate the 'phone call. The office PC will then automatically reboot, ready for the user to call in again. A6 Callbacks - Cut your phone bill This material is included by permission from its author. They have nearly 2000 people using Hands On at a University. Much of the usage is calling into a Netware network. Unfortunately, the callback option did not work on my gateway when HandsOn is configured to answer a call (I made the phone ring several times before taking the line (S0=5)). So I made a small workaround that works pretty good. The idea is to make an initial call (on my expense) and give a phone number that is called after the connection is closed and the gateway PC does his reboot. I wrote the following batch file named PHONE.BAT: ***************************************************** @ECHO OFF IF %1"==" GoTo ERROR IF NOT %2"==" GoTo ERROR ECHO CALL C:\BATCH\PHONE2 %1 > C:\BATCH\PHONE1.BAT ECHO The following number will be called: ECHO %1 GoTo END :ERROR CLS ECHO Please give the phone number (and ONLY the phone number), without blanks :END ******************************************************** In line no. 4 (the only one that is important), another batch file is created by the name of PHONE1.BAT. This file contains HANDS ON Remote Access HO.txt manual Page 55 the number (1234567 for example) that is to be called. So, after connecting to the gateway, I give a command like this: call 1234567 This creates PHONE1.BAT The content of this batch file looks like this: CALL C:\BATCH\PHONE2 1234567 The third batch file PHONE2.BAT that is called by PHONE1.BAT looks like this: C:\HO\HODIAL %1 The number to be called is passed to the HODIAL program. In the AUTOEXEC.BAT of the gateway pc, the following two lines have to be included, after HOHOST is loaded: IF EXIST C:\BATCH\PHONE1.BAT CALL C:\BATCH\PHONE1.BAT IF EXIST C:\BATCH\PHONE1.BAT DEL C:\BATCH\PHONE1.BAT So, if PHONE1.BAT exists, it is executed, an the gateway calls the number that I had given with PHONE.BAT. Afterwards, PHONE1.BAT is deleted, so next time the gateway reboots it just sits there waiting for calls. Another advantage of this solution is that you can pass any number that has to be called, instead of installing only one number in the hohost configuration. However, it is not a good idea to tell too many users of a more or less public gateway that this program exists. (I included some lines that log me time, date an number to be called in a private file so I have some control over what appens with the phone). Maybe this is of some interest to other users. Mit freundlichen Gruessen Wolfgang Roehl HANDS ON Remote Access HO.txt manual Page 56 APPENDIX B - Sample File Transfer Session In this example, we will assume that a good link has been established as described in scenario A2. The user (now Fred) has logged into the LAN from home, and wishes to transfer all the .DBF xbase datafiles from the LAN directories: F:\\USERDATA\\FRED\\TEST F:\\USERDATA\\FRED\\UTILS F:\\USERDATA\\FRED\\PROBLEM to the corresponding directories on his home PC: C:\\PROGRAMS\\TEST C:\\PROGRAMS\\UTILS C:\\PROGRAMS\\PROBLEM The current working directory on the LAN PC is F:\\USERDATA\\FRED. The current working directory on the home PC is C:\\HO. First, the user needs to make C:\\PROGRAMS the current working directory on his home PC. To do this, he must hold down Ctrl, Alt, LeftShift and RightShift all at the same time! This will bring up a screen similar to: HANDS ON Key Effect === ====== - simulate carrier - not used with MODEM link - simulate NO carrier - not used with MODEM link - send break, restart session - perform warm boot on host - shell to DOS - exit HANDS ON - exit HANDS ON - refresh display from HOST - upload file using OMI protocol - download file using OMI protocol - do nothing Press key: Then he should press to shell to DOS, and enter the command: CD \\PROGRAMS to make C:\\PROGRAMS the current working directory. Then he can enter the command: EXIT to return to HO. HANDS ON Remote Access HO.txt manual Page 57 Next he needs to start the download. To do this he must again hold down Ctrl, Alt, LeftShift and RightShift, and then press . Another box will appear: Name(s) of file(s) to be downloaded (use DOS wildcards): WARNING: Files with the same names on this PC will be overwritten! and he must enter the relative paths and wildcards: Name(s) of file(s) to be downloaded (use DOS wildcards): WARNING: Files with the same names on this PC will be overwritten! TEST\\*.DBF UTILS\\*.DBF PROBLEM\\*.DBF If there were some problem (for example, if OMIPUT.EXE were not on the path of the LAN PC), then the following could be displayed: HANDS ON Error: no ready marker from host Type to continue: However, normally the download will then commence, leaving the following display: File Transfer in Progress... File: test\\payroll.c Error: Throughput: 233.6 cps You may: 1. Abort the file transfer 2. Shell to DOS Selection: The number of bytes remaining to be transfered is displayed in the top right corner of the screen. The most recent error will be reported in the appropriate line of the box, and the HANDS ON Remote Access HO.txt manual Page 58 throughput of the transfer (in characters per second) may help to relieve the boredom while waiting for the transfer to complete! The box also indicates which file is currently being transfered. At this stage, the user can either wait for the transfer to finish, or else select option 2 from the menu and shell to DOS. In this case, he can use his home PC for other jobs while the transfer takes place in the background. HO will continue to display the number of bytes remaining in the top right corner until the transfer is completed, at which time the number in the top right corner will become the string "Completed" (or, possibly, "Doubtful" if one or more files could not be created on the home PC). However, the user must be careful not to do things like delete the file that is being downloaded! While shelled out to DOS in this way, the user may exit back into HO at any time. If the file transfer is still in progress, then the file transfer window will still be there; otherwise, the exit will leave HO displaying the normal Remote of the host PC's display. APPENDIX C - Modem Cables A full 25-wire straight-through male-to-female RS232 cable is recommended for HANDS ON (since there is less room for error in the cable construction/selection). Contact us if you need details for possible subset cables (some information has been chopped out of the manual because most people went cross eyed reading it). APPENDIX D - DESQview Compatibility HO is "DESQview-Aware" and runs nicely in a small DESQview window. HOHOST needs to put keys into the BIOS keyboard buffer, and this means that what is typed at the remote end cannot be distinguished by DESQview from what is typed at the real keyboard at the host end. The net effect is that there is no point in trying to run HOHOST in a DESQview window, and so HOHOST makes no attempt to be "DESQview-Aware". Also, DESQview is activated by "tapping" the ALT key, but HOHOST has no way to make this appear to happen, hence DESQview cannot be activated remotely. HOHOST and DESQview really don't mix! We have not tested Novell DOS. HANDS ON Remote Access HO.txt manual Page 59 For anyone wishing to set up DESQview for HANDS ON, these settings work: 1 Change a Program Change a Program Program Name............: HO Keys to Use on Open Menu: HO Memory Size (in K): 70 Program...: C:\\HO\\HO Parameters: REMOTE Directory.: \\HO Options: Writes text directly to screen.....: [N] Displays graphics information......: [N] Virtualize text/graphics (Y,N,T)...: [N] Uses serial ports (Y,N,1,2)........: [1] Requires floppy diskette...........: [N] Press F1 for advanced options Press <-Y when you are DONE and advanced options: 1 Change a Program Change a Program Advanced Options System Memory (in K): 0 Maximum Program Mem Size (in K)..: 70 Script Buffer Size: 100 Maximum Expanded Mem Size (in K): 0 Text Pages: 1 Graphics Pages: 0 Initial Mode: Interrs: 00 to 2F Window Position: Maximum Height: 25 Start Height: 25 Start Row...: 1 Maximum Width.: 80 Start Width.: 80 Start Column: 1 Shared Program Pathname..: Data......: Close on exit (Y,N,blank).: [Y] Uses its own colors...........: [Y] Allow Close Window command: [N] Runs in background (Y,N,blank): [Y] HANDS ON Remote Access HO.txt manual Page 60 Uses math coprocessor.....: [N] Keyboard conflict (0-4).......: [0] Share CPU when foreground.: [Y] Share EGA when foreground/....: [Y] Can be swapped out (Y,N, ): [N] Protection level (0-3)........: [0] Press F1 for standard options Press <-Y when you are DONE When running under DESQview, the "shell to DOS" option during a file transfer is disabled, since DESQview does not permit interrupt handlers to call DOS and BIOS functions (necessary for reading and writing files). However, this is not a serious limitation under DESQview, since DESQview will allow you to run multiple simultaneous programs. The normal "shell to DOS" option may be used under DESQview, but in this case more than 70K of memory will need to be allocated - with 4DOS, it has been reported that at least 150K is required! APPENDIX E - Acknowledgments This product has been developed from TeleReplica with the co-operation of the author, and a proportion of each registration is being forwarded to the primary author Douglas Thomson. The following individuals in particular have had a significant impact on the development of this product: Mr Douglas Thomson, Monash University College, Gippsland, Australia Mr Lindsay Smith, Monash University College, Gippsland, Australia Prof. Timo Salmi, University of Vaasa, Finland APPENDIX F - ShareWare Vendor Notice (if any) If you are a shareware vendor, please feel free to add your your standard notice below.